Welcom to the Keddie Show, this is Keddie. ( 一日一致敬,猜猜今日是向誰?XDD )
還記得上一回提到 JavaScript 的變數本身是沒有資料型態的,但是如果我們把不同型態的資料放在一起,又會變得怎麼樣呢?
在這之前我們先來知道一下要如何用 JSbin 印出東西來
打開你的 JSbin,並在 JavaScript 的欄位內打出 "console.log"
並在 console.log 之下打( 1 + 1),請記得後面要用分號結束,最後在畫面的右上按 "Run with JS" 就會發現以下結果:
接著我要丟出變化球了唷,如果我們今天用數字 1 加上字串 "1",猜看看會有什麼結果呢?
原因是因為,JavaScript 在看到你用不同型態的資料,會幫你轉型,讓前面的數字 1 變成了文字,於是他們疊再一起變成 11 。但轉型的結果,是不是我們需要的,就不一定了。
如果今天 console.log 裡的資料型態來個字串"hello world" 加上數字 123,你猜會印出什麼東西出來呢?
不吊大家胃口,在這裡我們知道數字遇到字串,數字會變轉型成文字,於是印出的結果如下:
那如果我們把剛剛例子中的 123 換成 true 呢?又會發生什麼事?
依然會把真假值(布林值)變成文字,可想而知,就會變成:
##如果我們用數字和布林值呢?
剛剛是字串和布林值,布林值會轉型成字串。
如果是數字和布林值呢?
用剛剛的例子: console.log( 123 + true)?
這時會產生特別的變化,這邊要特別記住:
布林值在和數字合併的時候,會轉型為數字
因此這裡的結果會跑出 123+1 = 124